import java.awt.Color;
import java.awt.Graphics;

public abstract class Entity 
{
	protected Vector2 position;
	protected int life = 5;
	protected int maxLife;
	protected int damage;
	protected int size;
	protected Color color;
	
	// Return the type of the entity
	// 1. "tower"
	// 2. "creature"
	// 3. "empty"     => Can build towers there
	// 4. "blocked"	  => Can't build towers there
	protected String GetType() { return null; }
	
	// Main draw method
	protected void Draw(Graphics g) {}
	
	// Main update method
	protected void Update() {}
	
	// Getters
	public Vector2 getPosition() {return position;}
	public int getLife() {return life;}
	public int getMaxLife() {return maxLife;}
	public float getDamage() {return damage;}
	public Color getColor() {return color;}
	public int getSize() {return size;}
	
	// Setters
	public void setPosition(Vector2 position) {this.position = position;}
	public void setLife(int life) {this.life = life;}
	public void setMaxLife(int maxLife) {this.maxLife = maxLife;}
	public void setDamage(int damage) {this.damage = damage;}
	public void setColor(Color color) {this.color = color;}
	public void setSize(int size) {this.size = size;}

}
